package org.lx.nursing.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import org.lx.common.annotation.Excel;
import org.lx.common.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 入住配置对象 check_in_config
 *
 * @author lx
 * @date 2025-02-28
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel("入住配置实体")
public class CheckInConfig extends BaseEntity {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键ID")
    private Long id;

    @Excel(name = "入住表ID")
    @ApiModelProperty(value = "入住表ID")
    private Long checkInId;

    @Excel(name = "护理等级ID")
    @ApiModelProperty(value = "护理等级ID")
    private Long nursingLevelId;

    @Excel(name = "护理等级名称")
    @ApiModelProperty(value = "护理等级名称")
    private String nursingLevelName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "费用开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "费用开始时间")
    private LocalDateTime feeStartDate;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "费用结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "费用结束时间")
    private LocalDateTime feeEndDate;

    @Excel(name = "押金", readConverterExp = "元=")
    @ApiModelProperty(value = "押金")
    private BigDecimal deposit;

    @Excel(name = "护理费用", readConverterExp = "元=/月")
    @ApiModelProperty(value = "护理费用")
    private BigDecimal nursingFee;

    @Excel(name = "床位费用", readConverterExp = "元=/月")
    @ApiModelProperty(value = "床位费用")
    private BigDecimal bedFee;

    @Excel(name = "医保支付", readConverterExp = "元=/月")
    @ApiModelProperty(value = "医保支付")
    private BigDecimal insurancePayment;

    @Excel(name = "政府补贴", readConverterExp = "元=/月")
    @ApiModelProperty(value = "政府补贴")
    private BigDecimal governmentSubsidy;

    @Excel(name = "其他费用", readConverterExp = "元=/月")
    @ApiModelProperty(value = "其他费用")
    private BigDecimal otherFees;

    @Excel(name = "排序编号")
    @ApiModelProperty(value = "排序编号")
    private Integer sortOrder;
}
